package com.randi.monitor.service;

import com.randi.monitor.dto.SysCache;
import com.randi.monitor.vo.CacheInfo;

import java.util.List;

public interface ISysCacheService {

    /**
     * 获取缓存信息
     *
     * @return 缓存信息
     */
    CacheInfo getCacheInfo();

    /**
     * 获取缓存名称
     *
     * @return 缓存名称集合
     */
    List<SysCache> getCacheNames();

    /**
     * 获取缓存键名集合
     *
     * @param sysCache 缓存信息
     * @return 缓存键名集合
     */
    List<SysCache> getCacheKeys(SysCache sysCache);

    /**
     * 根据缓存键名获取缓存键值
     *
     * @param cacheKey 缓存键名
     * @return 缓存键值
     */
    SysCache getCache(String cacheKey);

    /**
     * 清空缓存
     *
     * @param cacheName 缓存名称
     */
    void clearCacheName(String cacheName);

    /**
     * 清空缓存
     *
     * @param cacheKey 缓存键名
     */
    void clearCacheKey(String cacheKey);

}
